home *** CD-ROM | disk | FTP | other *** search
/ s-gikan2.maizuru-ct.ac.jp / s-gikan2.maizuru-ct.ac.jp.zip / s-gikan2.maizuru-ct.ac.jp / pub / ncvc352_install.exe / {app} / scripts / LatheViewCompleteSet / change_lathe_to_ncvc.pl next >
Perl Script  |  2004-10-06  |  854b  |  46 lines

  1. #! /usr/bin/perl
  2.  
  3. # NCVCé┼ì∞ɼé╡é╜GâRü[âhé≡üANCÉ∙ö╒ùpé╔ò╧è╖é╖éΘâXâNâèâvâg #
  4.  
  5.  
  6. %ZX= ("Z","X","X","Y","K","I","I","J");
  7.  
  8. $pre_file= $ARGV[0];
  9. $out_file= $ARGV[1];
  10. open(IN,$pre_file);
  11. open(OUT,">$out_file");
  12.  
  13. while(<IN>){
  14.     if(!/^N?[0-9\s]*[\(\%]/){
  15.         $_= change_ZXXY($_);
  16.         $_= Y_to_Y2($_);
  17.     }
  18.     print OUT;
  19. }
  20.  
  21. close(OUT);
  22. close(IN);
  23.  
  24.  
  25. sub change_ZXXY{
  26.     my ($line)= @_;
  27.     my $new_line;
  28.     while($line =~ /([XZIK])([0-9\-\.]+)/){
  29.         $new_line= $new_line.$`.$ZX{$1}.$2;
  30.         $line= $';
  31.     }
  32.     return $new_line.$line;
  33. }
  34.  
  35. sub Y_to_Y2{
  36.     my ($line)= @_;
  37.     my ($new_line,$pre_line,$num);
  38.     while($line =~ /Y([\-\d\.]+)/){
  39.         ($pre_line,$num,$line)= ($`,$1,$');
  40.         $num= int($num*1000/2) ;
  41.         $num= $num / 1000;
  42.         if($num !~ /\./ and $num != 0){ $num = $num."\.";}
  43.         $new_line= $new_line.$pre_line."Y".$num;
  44.     }
  45.     return $new_line.$line;
  46. }